/*
 * Copyright (c) 2007-2008, Thomas Krause (tho.krause@gmail.com)
 * 
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 * 
 *     * Redistributions of source code must retain the above copyright notice,
 *       this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright notice,
 *       this list of conditions and the following disclaimer in the documentation
 *       and/or other materials provided with the distribution.
 *     * Neither the name of gidoo nor the names of its contributors may be used to
 *       endorse or promote products derived from this software without specific
 *       prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

package org.gidoo.cms.editor.edit;

import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.model.PropertyModel;

/**
 * 
 * @author <a href="mailto:tho.krause@gmail.com">Thomas Krause</a>
 */
public class SimpleEditorComponent extends EditorComponent
{
  private Form form;
  private TextArea txtEdit;

  private String text = "";
  
  public SimpleEditorComponent()
  {
    form = new Form("form");
    txtEdit = new TextArea("txtEdit", new PropertyModel(this, "text"));
    
    txtEdit.setEscapeModelStrings(false);
    txtEdit.setOutputMarkupId(true);
    form.add(txtEdit);
    add(form);    
    this.setOutputMarkupId(true);
  }

  
  @Override
  public String getText()
  {
    if(text == null)
    {
      text = "";
    }
    return text;
  }

  @Override
  public void setText(String newText)
  {
    if(newText == null)
    {
      text = "";
    }
    else
    {
      text = newText;
    }
  }

  @Override
  public boolean isPreviewFunctionNeeded()
  {
    return true;
  }

  @Override
  public void enableComponents(boolean enable)
  {
    form.setEnabled(enable);
    txtEdit.setEnabled(enable);
  }
  
  
}
